// 新增接口模块
import * as server from '@/utils/http'
import URL from '@/environment/global'
import {
  arrangeDataList
} from '@/mock/menu'
// 解构赋值
let { HTTP_URL } = URL

/**
 * 新增系别
 * method: POST
 * @param name | 菜单名称
 */
export function addNewDepart (params = {}) {
  return server.post(`${HTTP_URL}/department`, params)
}

/**
 * 新增菜单
 * method: POST
 * @param menu_name | 菜单名称
 * @param menu_state | 菜单状态(0: 关闭，1开启
 * @param menu_parent | 父级菜单
 * @param menu_url | 菜单指向url
 * @param default_img | 默认图标
 * @param focus_img | 焦点图标
 */
export function addNewMenu (params = {}) {
  return server.post(`${HTTP_URL}/menu`, params)
}

/**
 * 新增角色
 * method: POST
 * @param role_name | 角色名称
 * @param pris_no | 菜单编号 逗号隔开 String
 */
export function addNewRole (params = {}) {
  return server.post(`${HTTP_URL}/role`, params)
}

/**
 * 新增用户
 * method: POST
 * @param name | 用户名
 * @param account | 账号
 * @param password | 密码
 * @param department | 系别
 * @param unit_code | 单位代码 默认为null
 * @param unit_name | 单位名称 默认为null
 */
export function addNewUser (params = {}) {
  params.role_ids = arrangeDataList(params.role_ids, true)
  return server.post(`${HTTP_URL}/user`, params)
}

/**
 * 新增预算编制阶段
 * method: POST
 * @param start_time | 预算开始时间
 * @param end_time | 预算结束时间
 * @param budget_end_time | 编制结束时间
 * @param data | 编制数据（json，树形）
 * @param kind | 类型：1行政2教学
 */
export function addNewBudgetTime (params = {}) {
  return server.post(`${HTTP_URL}/budget/time`, params)
}

/**
 * 新增填报预算
 * @param {String} budget_stage_id 阶段id
 * @param {String} parent_id 父级项目id
 * @param {String | Number} kind 项目类型 1行政 2教学
 * @param {String} name 项目名称
 * @param {String | Number} money 金额
 * @param {String | Number} number 数量
 * @param {String} additional_file 附加文件
 * @param {String} uploader_id 申报者账号
 */
export function addNewBudgetPage (params = {}) {
  return server.post(`${HTTP_URL}/budget/write`, params)
}

/**
 * 新增预算外编制类型
 */
export function addNewCategoryOffBudget (params = {}) {
  return server.post(`${HTTP_URL}/off/budget/category`, params)
}
/**
 * 新增预算外编制内容
 */
export function addContentOffBudget (params = {}) {
  return server.post(`${HTTP_URL}/off/budget/sum`, params)
}

/**
 * 新增执行阶段报单类型
 */
export function addContentExecuteStageCategory (params = {}) {
  return server.post(`${HTTP_URL}/bill/category`, params)
}

/**
 * 添加报单
 */
export function addNewBudgetWrite (params = {}) {
  return server.post(`${HTTP_URL}/bill/write`, params)
}

/**
 * 新增回执单
 */
export function addNewReceiptWrite (params = {}) {
  return server.post(`${HTTP_URL}/receipt/write`, params)
}
